﻿using ProyectoDeTesis.Controladores;
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Telerik.WinControls.UI;

namespace ProyectoDeTesis.Vistas
{
    public partial class AsignacionVuelos : Form
    {
        private PersonalController personalController = new PersonalController();
        private VueloController vueloController = new VueloController();
        public AsignacionVuelos()
        {
            InitializeComponent();
            rsnAsignacionVuelo.WeekViewButton.Text = "Vista Semana";
            rsnAsignacionVuelo.DayViewButton.Text = "Vista Día";
            rsnAsignacionVuelo.MonthViewButton.Text = "Vista Mes";
            rsnAsignacionVuelo.TimelineViewButtonVisible = false;
            rsnAsignacionVuelo.NavigateTodayButton.Text = "Hoy";
            rsnAsignacionVuelo.ShowWeekendCheckBox.Text = "Mostrar Semana";

            rsAsignacionVuelo.ActiveView.StartDate = DateTime.Today;
            rsAsignacionVuelo.GetDayView().DayCount = 1;
            llenarVuelos();
            llenarRecursos();
            rsAsignacionVuelo.GetDayView().ResourcesPerView = 2;
            rsAsignacionVuelo.GroupType = GroupType.Resource;
            SchedulerDayViewGroupedByResourceElement headerElement = rsAsignacionVuelo.SchedulerElement.ViewElement as SchedulerDayViewGroupedByResourceElement;
            //headerElement.ResourceHeaderHeight = 135;
            SchedulerDayViewGroupedByResourceElement dayView = rsAsignacionVuelo.SchedulerElement.ViewElement as SchedulerDayViewGroupedByResourceElement; 
            //dayView.ScrollToWorkHours();
            rsAsignacionVuelo.SchedulerElement.SetResourceHeaderAngleTransform(SchedulerViewType.Timeline, 0);
        }

        private void llenarRecursos()
        {
            List<Resource> listaRecursos = personalController.obtenerRecursos();
            rsAsignacionVuelo.Resources.AddRange(listaRecursos);
        }

        private void llenarVuelos()
        {
            rsAsignacionVuelo.Appointments.BeginUpdate();

            List<Appointment> listaVuelos = vueloController.obtenerCitasDeVuelos();
            rsAsignacionVuelo.Appointments.AddRange(listaVuelos);

            rsAsignacionVuelo.Appointments.EndUpdate();
        }

        private void btnadministrarTask_Click(object sender, EventArgs e)
        {
            AdministrarTarea tarea = new AdministrarTarea();
            tarea.ShowDialog(this);
        }

        private void btnAdministrarTarea_Click(object sender, EventArgs e)
        {
            AdministrarTarea tarea = new AdministrarTarea();
            tarea.ShowDialog(this);
        }

        private void btnaprobacionDeTareas_Click(object sender, EventArgs e)
        {
            AprobarTareas aprobar = new AprobarTareas();
            aprobar.ShowDialog(this);
        }

        private void btnaprobaciónDeTareas_Click(object sender, EventArgs e)
        {
            AprobarTareas aprobar = new AprobarTareas();
            aprobar.ShowDialog(this);
        }

        private void btnprogramaciónDeTarea_Click(object sender, EventArgs e)
        {
            this.Dispose();
            AsignacionVuelos programacion = new AsignacionVuelos();
            programacion.ShowDialog();
        }

        private void btnProgramacion_Click(object sender, EventArgs e)
        {
            this.Dispose();
            AsignacionVuelos programacion = new AsignacionVuelos();
            programacion.ShowDialog();
        }

        private void btnubicacion_Click(object sender, EventArgs e)
        {
            UbicacionControladores ubicacion = new UbicacionControladores();
            ubicacion.ShowDialog(this);
        }

        private void btnubicacionDeControladores_Click(object sender, EventArgs e)
        {
            UbicacionControladores ubicacion = new UbicacionControladores();
            ubicacion.ShowDialog(this);
        }


    }
}
